1. Technical Field
The present invention relates in general to the field of computers and other data processing systems and in particular to scripting languages. Still more particularly, the present invention relates to an improved method and system for timing the execution of code.
2. Description of the Related Art
Computer languages fulfill various purposes and are suited to different styles of programming. A programming task, known as scripting, involves connecting diverse pre-existing components to facilitate the automation of simple tasks. Scripting languages (also referred to as batch languages) are computer programming languages created to shorten the conventional programming process. Since a script is typically interpreted rather than compiled, it is usually faster to program in a scripting language. Also, script files are typically much smaller than equivalent high-level programming language files.
An operating system usually offers some type of scripting language by default. This operating system (OS) scripting language is also known as a shell script language. Shell scripts use environment variables to (a) store temporary values for reference later in the script and also to (b) communicate data to other processes. A number of shell script languages exist (e.g., Bourne shell (BSH), Korn shell (KSH), and C shell (CSH)). Each of these shells is capable of executing blocks of code within a script. When debugging a conventional Korn shell script, a software developer must identify problem areas of code in which tasks fail to execute within an expected reasonable amount of time.
Currently, Korn shell developers may add code to a Korn shell script in order to calculate the execution time of a particular block of code. Execution time is typically calculated by capturing the time before and after the execution of a block of code and then subtracting the timestamps to determine the execution time. However, this conventional method may create infinite loops or cause the Korn shell developer to unnecessarily wait for a block of code that contains a hang condition to execute in its entirety. Conventional methods of calculating execution times are also inefficient, as the Korn shell developer must still manually locate any problematic areas of each block of code within a script. The present invention thus recognizes that an improved method and system for timing the execution of code to facilitate the debugging of a Korn shell script is needed.